<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

function interator_getNextVal(&$array, $curr_val)	// return array value
{
    $next = null;
    reset($array);

    do
    {
        $tmp_val = current($array);
        $res = next($array);
    } while ( ($tmp_val != $curr_val) && $res );

    if( $res )
    {
        $next = current($array);
    }

    return $next;
}

function interator_getPrevVal(&$array, $curr_val)	// return array value
{
    end($array);
    $prev = null;

    do
    {
        $tmp_val = current($array);
        $res = prev($array);
    } while ( ($tmp_val != $curr_val) && $res );

    if( $res )
    {
        $prev = current($array);
    }

    return $prev;
}

function interator_getNext(&$array, $curr_key)	// return array key
{
    $next = null;
    reset($array);

    do
    {
        $tmp_key = key($array);
        $res = next($array);
    } while ( ($tmp_key != $curr_key) && $res );

    if( $res )
    {
        $next = key($array);
    }

    return $next;
}

function interator_getPrev(&$array, $curr_key)	// return array key
{
    end($array);
    $prev = null; 

    do
    {
        $tmp_key = key($array);
        $res = prev($array);
    } while ( ($tmp_key != $curr_key) && $res );

    if( $res )
    {
        $prev = key($array);
    }

    return $prev;
}

function getValueOfArray($array){
	if(!$array) return '';
	$tmp = array_values($array);
	return $tmp[0];
}

function getKeyOfArray($array){
	if(!$array) return '';
	$tmp = array_keys($array);
	return $tmp[0];
}

// ------------------------------------------------------------------------
function clone_($some)
{
   return (is_object($some)) ? clone $some : $some;
}

function normal_chars($string)
{
    $string = htmlentities($string, ENT_QUOTES, 'UTF-8');
    $string = preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', $string);
    $string = preg_replace(array('~[^0-9a-z]~i', '~-+~'), ' ', $string);
    return trim($string);
}

function slugify($text)
{ 
	/*
	$text = replace_accents($text);
	$text = preg_replace('~[^\\pL\d]+~u', '-', $text);
	$text = trim($text, '-');
	$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
	$text = strtolower($text);
	$text = preg_replace('~[^-\w]+~', '', $text);
	*/
	$text = strtolower( cleanForShortURL($text) );
    $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
	$text = preg_replace('~[^-\w]+~', '', $text);
	if (empty($text))
	{
		return 'n-a';
	}	 
	return $text;
}

function replace_accents($var){ //replace for accents catalan spanish and more
    $a = array('Ã€', 'Ã�', 'Ã‚', 'Ãƒ', 'Ã„', 'Ã…', 'Ã†', 'Ã‡', 'Ãˆ', 'Ã‰', 'ÃŠ', 'Ã‹', 'ÃŒ', 'Ã�', 'ÃŽ', 'Ã�', 'Ã�', 'Ã‘', 'Ã’', 'Ã“', 'Ã”', 'Ã•', 'Ã–', 'Ã˜', 'Ã™', 'Ãš', 'Ã›', 'Ãœ', 'Ã�', 'ÃŸ', 'Ã ', 'Ã¡', 'Ã¢', 'Ã£', 'Ã¤', 'Ã¥', 'Ã¦', 'Ã§', 'Ã¨', 'Ã©', 'Ãª', 'Ã«', 'Ã¬', 'Ã­', 'Ã®', 'Ã¯', 'Ã±', 'Ã²', 'Ã³', 'Ã´', 'Ãµ', 'Ã¶', 'Ã¸', 'Ã¹', 'Ãº', 'Ã»', 'Ã¼', 'Ã½', 'Ã¿', 'Ä€', 'Ä�', 'Ä‚', 'Äƒ', 'Ä„', 'Ä…', 'Ä†', 'Ä‡', 'Äˆ', 'Ä‰', 'ÄŠ', 'Ä‹', 'ÄŒ', 'Ä�', 'ÄŽ', 'Ä�', 'Ä�', 'Ä‘', 'Ä’', 'Ä“', 'Ä”', 'Ä•', 'Ä–', 'Ä—', 'Ä˜', 'Ä™', 'Äš', 'Ä›', 'Äœ', 'Ä�', 'Äž', 'ÄŸ', 'Ä ', 'Ä¡', 'Ä¢', 'Ä£', 'Ä¤', 'Ä¥', 'Ä¦', 'Ä§', 'Ä¨', 'Ä©', 'Äª', 'Ä«', 'Ä¬', 'Ä­', 'Ä®', 'Ä¯', 'Ä°', 'Ä±', 'Ä²', 'Ä³', 'Ä´', 'Äµ', 'Ä¶', 'Ä·', 'Ä¹', 'Äº', 'Ä»', 'Ä¼', 'Ä½', 'Ä¾', 'Ä¿', 'Å€', 'Å�', 'Å‚', 'Åƒ', 'Å„', 'Å…', 'Å†', 'Å‡', 'Åˆ', 'Å‰', 'ÅŒ', 'Å�', 'ÅŽ', 'Å�', 'Å�', 'Å‘', 'Å’', 'Å“', 'Å”', 'Å•', 'Å–', 'Å—', 'Å˜', 'Å™', 'Åš', 'Å›', 'Åœ', 'Å�', 'Åž', 'ÅŸ', 'Å ', 'Å¡', 'Å¢', 'Å£', 'Å¤', 'Å¥', 'Å¦', 'Å§', 'Å¨', 'Å©', 'Åª', 'Å«', 'Å¬', 'Å­', 'Å®', 'Å¯', 'Å°', 'Å±', 'Å²', 'Å³', 'Å´', 'Åµ', 'Å¶', 'Å·', 'Å¸', 'Å¹', 'Åº', 'Å»', 'Å¼', 'Å½', 'Å¾', 'Å¿', 'Æ’', 'Æ ', 'Æ¡', 'Æ¯', 'Æ°', 'Ç�', 'ÇŽ', 'Ç�', 'Ç�', 'Ç‘', 'Ç’', 'Ç“', 'Ç”', 'Ç•', 'Ç–', 'Ç—', 'Ç˜', 'Ç™', 'Çš', 'Ç›', 'Çœ', 'Çº', 'Ç»', 'Ç¼', 'Ç½', 'Ç¾', 'Ç¿'); 
    $b = array('A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 's', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', 'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'IJ', 'ij', 'J', 'j', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'l', 'l', 'N', 'n', 'N', 'n', 'N', 'n', 'n', 'O', 'o', 'O', 'o', 'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I', 'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o'); 
    $var= str_replace($a, $b,$var);
    return $var; 
}


function cleanForShortURL($toClean) {
	$table = array(
        'Š'=>'S', 'š'=>'s', 'Đ'=>'Dj', 'đ'=>'dj', 'Ž'=>'Z', 'ž'=>'z', 'Č'=>'C', 'č'=>'c', 'Ć'=>'C', 'ć'=>'c',
        'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
        'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
        'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
        'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
        'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
        'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
        'ÿ'=>'y', 'Ŕ'=>'R', 'ŕ'=>'r',
    );
    
    return strtr($toClean, $table);
}

define('TBL_LANGUAGE', 'default_escort_languages');
define('TBL_PERMISSION', 'default_escort_permissions');
define('TBL_CATEGORY', 'default_escort_categories');
define('TBL_COUNTRY_SETTING', 'default_escort_country_settings');
define('TBL_PAYMENT_GATEWAY', 'default_escort_payment_gateways');
define('TBL_SITE_SETTING', 'default_escort_site_settings');
define('TBL_SEXUAL_ORIENTATION', 'default_escort_sexual_orientations');
define('TBL_PROVINCE_SETTING', 'default_escort_province_settings');
define('TBL_CITY_SETTING', 'default_escort_city_settings');
define('TBL_ADS_ZONE', 'default_escort_ads_zones');
define('TBL_BANNER', 'default_escort_ads_banners');
define('TBL_BANNER_STATISTIC', 'default_escort_ads_banner_statistics');
define('TBL_SUBCRIPTION_OPTION', 'default_escort_subcription_options');
define('TBL_HAIR_COLOR_OPTION', 'default_escort_hair_color_options');
define('TBL_MEDIA_TYPE_SETTING', 'default_escort_media_type_settings');
define('TBL_SERVICE_OPTION', 'default_escort_service_options');
define('TBL_PACKAGE_OPTION', 'default_escort_package_options');
define('TBL_ESCORT_DESCRIPTION', 'default_escort_escort_descriptions');
define('TBL_ESCORT_NEWS', 'default_escort_news');
define('TBL_ESCORT_CATEGORY_NEWS', 'default_escort_news_categories');
define('TBL_WORKING_PLACE', 'default_escort_working_places');
define('TBL_SCHEDULE', 'default_escort_schedule');
define('TBL_WEEK_DAY', 'default_escort_week_days');
define('TBL_PAYMENT_TYPE', 'default_escort_payment_types');
define('TBL_TRAVEL_OPTION', 'default_escort_travel_options');
define('TBL_SERVES_TO_OPTION', 'default_escort_serves_to_options');
define('TBL_PAYMENT_METHOD', 'default_escort_payment_methods');
define('TBL_PRICING_TIME_OPTION', 'default_escort_pricing_time_options');
define('TBL_PRICING_TIME', 'default_escort_pricing_time');
define('TBL_EXTRAS_OPTION', 'default_escort_extras_options');
define('TBL_SEX_OPTION', 'default_escort_sex_options');
define('TBL_HAIR_SIZE_OPTION', 'default_escort_hair_size_options');
define('TBL_HAIR_STYLE_OPTION', 'default_escort_hair_style_options');
define('TBL_EYE_OPTION', 'default_escort_eye_options');
define('TBL_TRANSPORT_OPTION', 'default_escort_transport_options');
define('TBL_WORKING_DATE', 'default_escort_working_dates');
define('TBL_PRIORITY_OPTION', 'default_escort_priority_options');
define('TBL_SITE', 'core_sites');

define('TBL_USER', 'default_escort_users');
define('TBL_ESCORT', 'default_escort_escorts');
define('TBL_COUNTRY', 'default_countries');
define('TBL_STATE', 'default_regions');
define('TBL_CITY', 'default_cities');
define('TBL_SPAIN_STATE', 'default_spain_regions');
define('TBL_SPAIN_PROVINCE', 'default_spain_provinces');
define('TBL_SPAIN_CITY', 'default_spain_cities');
define('TBL_MEDIA', 'default_escort_media');
define('TBL_MESSAGE_THREAD', 'default_escort_message_threads');
define('TBL_LOCKED_ESCORT', 'default_escort_locked_escort_fields');
define('TBL_ESCORT_USER_ROLES_N_ZONES', 'default_escort_user_roles_n_zones');
define('TBL_ESCORT_USER_ROLES_N_BENEFITS', 'default_escort_user_roles_n_benefits');

define('TBL_VISITOR_CONTACT', 'default_escort_visitor_contact_book');
define('TBL_DISCOUNT_TICKET', 'default_escort_discount_tickets');
define('TBL_DISCOUNT_TYPE', 'default_escort_discount_types');
define('TBL_MESSAGE', 'default_escort_messages');
define('TBL_COMMERCIAL_OBJECTIVE', 'default_escort_commercial_objectives');
define('TBL_VOLUME_DISCOUNT', 'default_escort_volume_discounts');
define('TBL_EXPENSE', 'default_escort_expenses');
define('TBL_PRODUCT', 'default_escort_products');

define('TBL_PLACE_LIST', 'default_escort_listing_place_options');
define('TBL_WITHDRAWAL', 'default_escort_withdrawals');
define('TBL_INVOICE', 'default_escort_invoices');
define('TBL_INVOICE_LINE', 'default_escort_invoice_lines');

define('TBL_ESCORT_VISITTED', 'default_escort_visitted');
define('TBL_ESCORT_PAYMENT_LOG', 'default_escort_contract_log');

define('TBL_LOG_ACTIONS', 'default_escort_actions_log');
define('TBL_PAYMENT_HISTORY', 'default_escort_payment_history');
define('TBL_DISCOUNT_CONFIG', 'default_escort_discount_config');

define('TBL_PROFESSION', 'default_escort_profession');

define('TBL_COMISSION_LOG','default_escort_comission_log');
define('TBL_GOOGLE_LANGUAGE','default_google_languages');

define('TBL_POINT_LOG','default_escort_point_log');








